﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using Xyz.BusinessObjects.Validation;

namespace Xyz.BusinessObjects
{
    public class Booking : BusinessObject
	{
        public Booking()
        {
            AddRule(new ValidateMandatory("ContactName"));
            AddRule(new ValidateMandatory("ContactNo"));
            AddRule(new ValidateMandatory("ContactEmailAddress"));
            AddRule(new ValidateMandatory("Status"));
            AddRule(new ValidateMandatory("TotalTicketFare"));
            AddRule(new ValidateMandatory("BookingDate"));
            AddRule(new ValidateMandatory("Tickets"));
        }

        public int BookingId { get; set; }
        public string BookingCode { get; set; }
        public int? CustomerId { get; set; }
        public string TripCode { get; set; }
        public int? AdultNo { get; set; }
        public int? ChildNo { get; set; }
        public string Status { get; set; }
        public decimal TotalTicketFare { get; set; }
        public DateTime PaymentDue { get; set; }
        public string ContactName { get; set; }
        public string ContactNo { get; set; }
        public string ContactEmailAddress { get; set; }
        public DateTime BookingDate { get; set; }
        public List<Ticket> Tickets { get; set; }
        public List<CardPayment> CardPayments { get; set; }
        public List<MemberPayment> MemberPayments { get; set; }
	}
}


